import 'package:gameplay_flutter/generated/json/base/json_field.dart';
import 'package:gameplay_flutter/generated/json/following_moment_dto_entity.g.dart';
import 'dart:convert';

import 'package:gameplay_flutter/lib_basemodel/discover/moment_entity.dart';
export 'package:gameplay_flutter/generated/json/following_moment_dto_entity.g.dart';

@JsonSerializable()
class FollowingMomentDtoEntity {
	late List<FollowingMomentDtoDynamicList> dynamicList = [];
	late List<dynamic> peopleList = [];

	FollowingMomentDtoEntity();

	factory FollowingMomentDtoEntity.fromJson(Map<String, dynamic> json) => $FollowingMomentDtoEntityFromJson(json);

	Map<String, dynamic> toJson() => $FollowingMomentDtoEntityToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class FollowingMomentDtoDynamicList {
	late bool hideRoomStatus = false;
	late bool specialAttention = false;
	late int id = 0;
	// dynamic dynamic;
	late MomentEntity dynamicVO;
	late String userCode = '';
	late FollowingMomentDtoDynamicListWealthInfo wealthInfo;
	dynamic eachAttention;
	late String province = '';
	late String headPortraitsUrl = '';
	dynamic micFrameUrl;
	dynamic userRemark;
	late String onlineStr = '';
	late String platformAuthUrl = '';
	late String imId = '';
	late int type = 0;
	late int userId = 0;
	late String emblemUrl = '';
	late String nobleName = '';
	late String about = '';
	dynamic fromUserId;
	late bool online = false;
	dynamic h5MicFrameUrl;
	late int total = 0;
	late String country = '';
	late String activeTime = '';
	dynamic userMoodInfo;
	dynamic toUserId;
	dynamic sortNumber;
	late int lastMemberExp = 0;
	dynamic dynamicInfo;
	late String visitTime = '';
	dynamic fanClubLogo;
	late int age = 0;
	late String imPsw = '';
	late String emblemSimpleUrl = '';
	late FollowingMomentDtoDynamicListPopularityInfo popularityInfo;
	dynamic decorationsHeadFrameUrl;
	dynamic nobleBackgroundUrl;
	dynamic roomInfo;
	late String nickname = '';
	dynamic virtualMemberExp;
	late int gender = 0;
	dynamic friendInfo;
	late String city = '';
	late int memberLevel = 0;
	late bool hideActiveTime = false;
	late String memberHeadPortrail = '';
	late String mobile = '';
	dynamic memberEmblem;
	dynamic fanGroupIcon;
	late int nobleRankCode = 0;
	dynamic richerInfo;
	dynamic memberExp;

	FollowingMomentDtoDynamicList();

	factory FollowingMomentDtoDynamicList.fromJson(Map<String, dynamic> json) => $FollowingMomentDtoDynamicListFromJson(json);

	Map<String, dynamic> toJson() => $FollowingMomentDtoDynamicListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class FollowingMomentDtoDynamicListDynamicVO {
	late String memberHeadPortrail = '';
	dynamic memberEmblem;
	late int userId = 0;
	dynamic techTags;
	dynamic moodLabelId;
	late String userHeadUrl = '';
	dynamic nobleExp;
	dynamic nicknamePendantUrl;
	late int moodNum5 = 0;
	late bool top = false;
	dynamic userMoodInfo;
	dynamic weightScore;
	late String interests = '';
	dynamic toastMsg;
	late List<String> aboutList = [];
	late int id = 0;
	late List<FollowingMomentDtoDynamicListDynamicVOFiles> files = [];
	dynamic userAge;
	dynamic userPlatformAuthName;
	late List<FollowingMomentDtoDynamicListDynamicVOContentInfoList> contentInfoList = [];
	dynamic userHeadFrameUrl;
	dynamic userPlatformAuthUrl;
	late int officialAccount = 0;
	late int auditStatus = 0;
	dynamic userPlatformAuthDesc;
	dynamic userRemark;
	late int isLikes = 0;
	dynamic dan;
	late String topicName = '';
	late int moodNum3 = 0;
	dynamic userPlatformAuthType;
	late int moodNum6 = 0;
	dynamic shareMsg;
	dynamic categoryIcon;
	dynamic nicknamePendantIosUrl;
	late String userNickname = '';
	late int dynamicType = 0;
	late int userGender = 0;
	dynamic productMaxPrice;
	dynamic richerInfo;
	late int dispatcherType = 0;
	dynamic nobleBackgroundUrl;
	dynamic likeUserIds;
	dynamic productId;
	late bool online = false;
	dynamic nicknamePendantH5Url;
	late bool toBlack = false;
	dynamic productUnit;
	dynamic nicknamePendantAdUrl;
	dynamic micFrameUrl;
	late int isLike = 0;
	dynamic rewards;
	late bool fromBlack = false;
	dynamic friendInfo;
	late int moodNum1 = 0;
	late int likes = 0;
	late int moodNum4 = 0;
	dynamic emblemUrl;
	dynamic emblemSimpleUrl;
	dynamic memberExp;
	late String audioSharePic = '';
	dynamic nobleName;
	late int visible = 0;
	dynamic productPrice;
	late int isAttention = 0;
	dynamic roomNo;
	dynamic productVOList;
	late String content = '';
	dynamic popularityInfo;
	late int type = 0;
	late String createTime = '';
	dynamic status;
	late bool isRecommend = false;
	dynamic wealthInfo;
	late String timeStr = '';
	dynamic clicks;
	dynamic recommendTime;
	late int memberLevel = 0;
	dynamic dynamicCommentVOS;
	late int comments = 0;
	late int personalTop = 0;
	dynamic nobleRankCode;
	dynamic productName;
	dynamic rewardUserHeadUrlList;
	late String cityName = '';
	late int topicId = 0;
	late int moodNum2 = 0;
	dynamic imId;

	FollowingMomentDtoDynamicListDynamicVO();

	factory FollowingMomentDtoDynamicListDynamicVO.fromJson(Map<String, dynamic> json) => $FollowingMomentDtoDynamicListDynamicVOFromJson(json);

	Map<String, dynamic> toJson() => $FollowingMomentDtoDynamicListDynamicVOToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class FollowingMomentDtoDynamicListDynamicVOFiles {
	dynamic id;
	dynamic description;
	dynamic playAuth;
	late int playCount = 0;
	dynamic videoId;
	dynamic contentRiskResult;
	late int width = 0;
	late String url = '';
	late int type = 0;
	dynamic riskType;
	dynamic dynamicId;
	dynamic createTime;
	dynamic snapUrl;
	dynamic gifUrl;
	late int height = 0;
	late int duration = 0;
	dynamic status;
	dynamic updateTime;

	FollowingMomentDtoDynamicListDynamicVOFiles();

	factory FollowingMomentDtoDynamicListDynamicVOFiles.fromJson(Map<String, dynamic> json) => $FollowingMomentDtoDynamicListDynamicVOFilesFromJson(json);

	Map<String, dynamic> toJson() => $FollowingMomentDtoDynamicListDynamicVOFilesToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class FollowingMomentDtoDynamicListDynamicVOContentInfoList {
	dynamic imId;
	dynamic userStatus;
	dynamic nickname;
	late int type = 0;
	dynamic userId;
	late String text = '';

	FollowingMomentDtoDynamicListDynamicVOContentInfoList();

	factory FollowingMomentDtoDynamicListDynamicVOContentInfoList.fromJson(Map<String, dynamic> json) => $FollowingMomentDtoDynamicListDynamicVOContentInfoListFromJson(json);

	Map<String, dynamic> toJson() => $FollowingMomentDtoDynamicListDynamicVOContentInfoListToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class FollowingMomentDtoDynamicListWealthInfo {
	late int userId = 0;
	late int wealthValue = 0;
	dynamic topRank;
	late String iconUrl = '';
	dynamic minIconUrl;
	late bool isInvalid = false;
	late int levelCode = 0;
	late String groupName = '';
	dynamic expansionCount;
	late String backgroundColor = '';
	late String levelName = '';

	FollowingMomentDtoDynamicListWealthInfo();

	factory FollowingMomentDtoDynamicListWealthInfo.fromJson(Map<String, dynamic> json) => $FollowingMomentDtoDynamicListWealthInfoFromJson(json);

	Map<String, dynamic> toJson() => $FollowingMomentDtoDynamicListWealthInfoToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}

@JsonSerializable()
class FollowingMomentDtoDynamicListPopularityInfo {
	late int userId = 0;
	late int topRank = 0;
	late String iconUrl = '';
	late int hotValue = 0;
	late bool isInvalid = false;
	late int levelCode = 0;
	late String backgroundColor = '';
	late String levelName = '';

	FollowingMomentDtoDynamicListPopularityInfo();

	factory FollowingMomentDtoDynamicListPopularityInfo.fromJson(Map<String, dynamic> json) => $FollowingMomentDtoDynamicListPopularityInfoFromJson(json);

	Map<String, dynamic> toJson() => $FollowingMomentDtoDynamicListPopularityInfoToJson(this);

	@override
	String toString() {
		return jsonEncode(this);
	}
}